home *** CD-ROM | disk | FTP | other *** search
Text File | 1994-04-21 | 4.4 KB | 175 lines | [TEXT/MPS ] |
- // The C++ Booch Components (Version 2.1)
- // (C) Copyright 1990-1993 Grady Booch. All Rights Reserved.
- //
- // Restricted Rights Legend
- // Use, duplication, or disclosure is subject to restrictions as set forth
- // in subdivision (c)(1)(ii) of the Rights in Technical Data and Computer
- // Software clause at DFARS 252.227-7013.
- //
- // BCQueD.cpp
- //
- // This file contains the definitions for the dynamic queue.
-
- #include "BCQueD.h"
-
- template<class Item, class StorageManager>
- BC_TDynamicQueue<Item, StorageManager>::BC_TDynamicQueue() {}
-
- template<class Item, class StorageManager>
- BC_TDynamicQueue<Item, StorageManager>::BC_TDynamicQueue(BC_Index chunkSize)
- : fRep(chunkSize) {}
-
- template<class Item, class StorageManager>
- BC_TDynamicQueue<Item, StorageManager>::
- BC_TDynamicQueue(const BC_TDynamicQueue<Item, StorageManager>& q)
- : fRep(q.fRep) {}
-
- template<class Item, class StorageManager>
- BC_TDynamicQueue<Item, StorageManager>::~BC_TDynamicQueue() {}
-
- template<class Item, class StorageManager>
- BC_TQueue<Item>& BC_TDynamicQueue<Item, StorageManager>::
- operator=(const BC_TQueue<Item>& q)
- {
- return BC_TQueue<Item>::operator=(q);
- }
-
- template<class Item, class StorageManager>
- BC_TQueue<Item>& BC_TDynamicQueue<Item, StorageManager>::
- operator=(const BC_TDynamicQueue<Item, StorageManager>& q)
- {
- fRep = q.fRep;
- return *this;
- }
-
- template<class Item, class StorageManager>
- BC_Boolean BC_TDynamicQueue<Item, StorageManager>::
- operator==(const BC_TQueue<Item>& q) const
- {
- return BC_TQueue<Item>::operator==(q);
- }
-
- template<class Item, class StorageManager>
- BC_Boolean BC_TDynamicQueue<Item, StorageManager>::
- operator==(const BC_TDynamicQueue<Item, StorageManager>& q) const
- {
- return (fRep == q.fRep);
- }
-
- template<class Item, class StorageManager>
- BC_Boolean BC_TDynamicQueue<Item, StorageManager>::
- operator!=(const BC_TDynamicQueue<Item, StorageManager>& q) const
- {
- return !operator==(q);
- }
-
- template<class Item, class StorageManager>
- void BC_TDynamicQueue<Item, StorageManager>::SetChunkSize(BC_Index chunkSize)
- {
- fRep.SetChunkSize(chunkSize);
- }
-
- template<class Item, class StorageManager>
- void BC_TDynamicQueue<Item, StorageManager>::Preallocate(BC_Index new_length)
- {
- fRep.Preallocate(new_length);
- }
-
- template<class Item, class StorageManager>
- void BC_TDynamicQueue<Item, StorageManager>::Clear()
- {
- fRep.Clear();
- }
-
- template<class Item, class StorageManager>
- void BC_TDynamicQueue<Item, StorageManager>::Append(const Item& item)
- {
- fRep.Append(item);
- }
-
- template<class Item, class StorageManager>
- void BC_TDynamicQueue<Item, StorageManager>::Pop()
- {
- fRep.Remove(0);
- }
-
- template<class Item, class StorageManager>
- void BC_TDynamicQueue<Item, StorageManager>::Remove(BC_Index at)
- {
- fRep.Remove(at);
- }
-
- template<class Item, class StorageManager>
- BC_Index BC_TDynamicQueue<Item, StorageManager>::ChunkSize() const
- {
- return fRep.ChunkSize();
- }
-
- template<class Item, class StorageManager>
- BC_Index BC_TDynamicQueue<Item, StorageManager>::Length() const
- {
- return fRep.Length();
- }
-
- template<class Item, class StorageManager>
- BC_Boolean BC_TDynamicQueue<Item, StorageManager>::IsEmpty() const
- {
- return (fRep.Length() == 0);
- }
-
- template<class Item, class StorageManager>
- const Item& BC_TDynamicQueue<Item, StorageManager>::Front() const
- {
- return fRep.First();
- }
-
- template<class Item, class StorageManager>
- Item& BC_TDynamicQueue<Item, StorageManager>::Front()
- {
- return fRep.First();
- }
-
- template<class Item, class StorageManager>
- BC_ExtendedIndex BC_TDynamicQueue<Item, StorageManager>::
- Location(const Item& item) const
- {
- return fRep.Location(item);
- }
-
-
- template<class Item, class StorageManager>
- void* BC_TDynamicQueue<Item, StorageManager>::operator new(size_t s)
- {
- return StorageManager::Allocate(s);
- }
-
- template<class Item, class StorageManager>
- void BC_TDynamicQueue<Item, StorageManager>::operator delete(void* p, size_t s)
- {
- StorageManager::Deallocate(p, s);
- }
-
- template<class Item, class StorageManager>
- void BC_TDynamicQueue<Item, StorageManager>::Purge()
- {
- fRep.Clear();
- }
-
- template<class Item, class StorageManager>
- void BC_TDynamicQueue<Item, StorageManager>::Add(const Item& item)
- {
- fRep.Append(item);
- }
-
- template<class Item, class StorageManager>
- BC_Index BC_TDynamicQueue<Item, StorageManager>::Cardinality() const
- {
- return fRep.Length();
- }
-
- template<class Item, class StorageManager>
- const Item& BC_TDynamicQueue<Item, StorageManager>::ItemAt(BC_Index index) const
- {
- return fRep.ItemAt(index);
- }
-